package dao

// 这是 PmsProductAttributeValue 的全局公开dao对象，被service层调用!
var PmsProductAttributeValueDao = pmsProductAttributeValueDao{}

// 这是 pms_product_attribute_value表 的实体类
type PmsProductAttributeValue struct {
	Id                 int64  `json:"id" form:"id" v:"id"`
	ProductAttributeId int64  `json:"product_attribute_id" form:"product_attribute_id" v:"product_attribute_id"` // 这是一个逻辑外键,关联pms_product_attribute(id)
	ProductId          int64  `json:"product_id" form:"product_id" v:"product_id"`                               // 这是一个逻辑外键,关联pms_product(id)
	Value              string `json:"value" form:"value" v:"value"`                                              // 手动添加规格或参数的值，参数单值，规格有多个时以逗号隔开

}

// 注意:这是 PmsProductAttributeValue 的私有dao对象，只能在dao层内使用!
type pmsProductAttributeValueDao struct {
	InsertTemplate func(arg PmsProductAttributeValue) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg PmsProductAttributeValue) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                                   `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (PmsProductAttributeValue, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]PmsProductAttributeValue, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 pms_product_attribute_value 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type PmsProductAttributeValuePostman struct {
id
product_attribute_id
product_id
value

}*/

// 这是 pms_product_attribute_value 表的批量请求参数
type PmsProductAttributeValueReq struct {
	List []PmsProductAttributeValue `json:"list" form:"list"`
}
